home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 January: Mac OS SDK / Dev.CD Jan 96 SDK / Dev.CD Jan 96 SDK1.toast / Development Kits (Disc 1) / AOCE / Development Tools / Interfaces / CIncludes / OCEStandardDirectory.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-10  |  19.0 KB  |  686 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3. Created: Friday, June 4, 1993 at 10:05AM
  4.  OCEStandardDirectory.h
  5.  C Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1990-1993
  8.   All rights reserved
  9.  
  10. ************************************************************/
  11.  
  12.  
  13. #ifndef __OCESTANDARDDIRECTORY__
  14. #define __OCESTANDARDDIRECTORY__
  15.  
  16. #ifndef REZ
  17.  
  18. #ifndef    __OCE__
  19. #include <OCE.h>
  20. #endif
  21.  
  22. #ifndef __OCEAUTHDIR__
  23. #include <OCEAuthDir.h>
  24. #endif
  25.  
  26. #ifndef __TYPES__
  27. #include <Types.h>
  28. #endif
  29.  
  30. #ifndef __WINDOWS__
  31. #include <Windows.h>
  32. #endif
  33.  
  34. #ifndef __ICONS__
  35. #include <Icons.h>
  36. #endif
  37.  
  38.  
  39.  
  40. /* Macros used for generating Inline Code. */
  41.  
  42. #ifndef __SDPPanel
  43. #define __SDPPanel(count,selector) = { 0x203C,count,selector, 0xAA5D}
  44. #endif
  45.  
  46. #ifndef __SDPPrompt
  47. #define __SDPPrompt(count,selector) = { 0x203C,count,selector, 0xAA5D}
  48. #endif
  49.  
  50. #ifndef __FindPanel
  51. #define __FindPanel(count,selector) = { 0x203C,count,selector, 0xAA5D}
  52. #endif
  53.  
  54. #ifndef __SDPUtils
  55. #define __SDPUtils(selector) = { 0x303C, selector, 0xAA5C}
  56. #endif
  57.  
  58. #ifndef __SDPAlias
  59. #define __SDPAlias(count,selector) =  { 0x203C,count,selector, 0xAA5D}
  60. #endif
  61.  
  62. #ifndef __SDPPDUtils
  63. #define __SDPPDUtils(count,selector) = {0x203c,count,selector,0xAA5D}
  64. #endif
  65.  
  66. /* CollabPack Trap Selectors */
  67.  
  68. #define kSDPNewPanel                    100
  69. #define kSDPGetNewPanel                    101
  70. #define kSDPDisposePanel                102
  71. #define kSDPHidePanel                    103
  72. #define kSDPShowPanel                    104
  73. #define kSDPEnablePanel                    105
  74. #define kSDPUpdatePanel                    106
  75. #define kSDPMovePanel                    107
  76. #define kSDPSizePanel                    108
  77. #define kSDPOpenSelectedItem            109
  78. #define kSDPGetPanelSelectionState        110
  79. #define kSDPGetPanelSelection            111
  80. #define kSDPSetPath                        112
  81. #define kSDPPanelEvent                    113
  82. #define kSDPGetPanelSelectionSize        114
  83. #define kSDPSetIdentity                    115
  84. #define kSDPSelectString                116
  85. #define kSDPGetPathLength                117
  86. #define kSDPGetPath                        118
  87. #define kSDPSetFocus                    119
  88. #define kSDPSetPanelBalloonHelp            120
  89. #define kSDPInstallPanelBusyProc        121
  90.  
  91. #define kSDPPromptForID                    904
  92.  
  93. #define kSDPNewFindPanel                2300
  94. #define kSDPDisposeFindPanel            2301
  95. #define kSDPStartFind                    2302
  96. #define kSDPStopFind                    2303
  97. #define kSDPFindPanelEvent                2304
  98. #define kSDPDrawFindPanel                2305
  99. #define kSDPShowFindPanel                2306
  100. #define kSDPHideFindPanel                2307
  101. #define kSDPMoveFindPanel                2308
  102. #define kSDPEnableFindPanel                2309
  103. #define kSDPSetFindPanelFocus            2310
  104. #define kSDPGetFindPanelState            2311
  105. #define kSDPGetFindPanelSelectionSize    2312
  106. #define kSDPGetFindPanelSelection        2313
  107. #define kSDPSetFindPanelBalloonHelp        2314
  108. #define kSDPSetFindIdentity                2315
  109. #define kSDPInstallFindPanelBusyProc    2316
  110.  
  111. #define kSDPGetIconByType        1024
  112. #define kSDPGetDSSpecIcon        1025
  113. #define kSDPGetCategories        1026
  114. #define kSDPGetCategoryTypes    1027
  115.  
  116. #define kSDPResolveAliasFile    3700
  117. #define kSDPResolveAliasDSSpec    3701
  118.  
  119. #define kSDPRepairPersonalDirectory 6700
  120.  
  121. /* Collaboration Package Gestalts. */
  122.  
  123. #define gestaltSDPStandardDirectoryVersion    'sdvr'
  124. #define gestaltSDPFindVersion                'dfnd'
  125. #define gestaltSDPPromptVersion                'prpv'
  126.  
  127.  
  128.  
  129. #ifndef svLarge1Bit
  130. /*  Selector mask values  */
  131. /* This is temporary. It will eventually appear in Icons.h */
  132. typedef unsigned long    IconSelectorValue;    
  133. #define svLarge1Bit            0x00000001
  134. #define svLarge4Bit            0x00000002
  135. #define svLarge8Bit            0x00000004
  136. #define svSmall1Bit            0x00000100
  137. #define svSmall4Bit            0x00000200
  138. #define svSmall8Bit            0x00000400
  139. #define svMini1Bit            0x00010000
  140. #define svMini4Bit            0x00020000
  141. #define svMini8Bit            0x00040000
  142. #define svAllLargeData        0x000000ff
  143. #define svAllSmallData        0x0000ff00
  144. #define svAllMiniData        0x00ff0000
  145. #define svAll1BitData        (svLarge1Bit | svSmall1Bit | svMini1Bit)
  146. #define svAll4BitData        (svLarge4Bit | svSmall4Bit | svMini4Bit)
  147. #define svAll8BitData        (svLarge8Bit | svSmall8Bit | svMini8Bit)
  148. #define svAllAvailableData    0xffffffff
  149. #endif
  150.  
  151. #endif /* REZ */
  152.  
  153. /* generic icon suites */
  154.  
  155. #define genericDirectoryIconResource            -16721    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  156. #define genericLockedDirectoryIconResource        -16716    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  157. #define genericRecordIconResource                -16722    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  158. #define genericAttributeIconResource            -16723    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  159. #define genericTemplateIconResource                -16746    /* icl8, icl4, ICN#, ics#, ics4, ics8 */
  160.  
  161.  
  162.  
  163. /* standard icon suites */
  164.  
  165. #define directoryFolderIconResource                -16720    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  166. #define lockedDirectoryFolderIconResource        -16719    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  167. #define personalDirectoryIconResource            -16718    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  168. #define directoriesIconResource                    -16717    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  169. #define preferredPersonalDirectoryIconResource    -16724    /* icl8, icl4, ICN#, ics#, ics4, ics8, sicn  */
  170.  
  171. /* icon IDs for spinning arrows */
  172. #define kFirstSpinnerIcon                        -16745
  173. #define kLastSpinnerIcon                        -16738
  174.  
  175.  
  176. /* resource types */
  177. #define kSDPPanelResourceType                    'panl'
  178. #define kSDPFindPanelResourceType                'find'
  179.  
  180. /* Standard FindPanel resource */
  181. #define kStandardFindLayout                        -16700
  182.  
  183.  
  184. #ifndef REZ
  185.  
  186.  
  187. /* Prompt For Identity structures */
  188.  
  189. enum {
  190.     kSDPGuestBit,
  191.     kSDPSpecificIdentityBit,
  192.     kSDPLocalIdentityBit
  193. };
  194.  
  195. /* Values of SDPIdentityKind */
  196. enum {
  197.     kSDPGuestMask                 = 1<<kSDPGuestBit,
  198.     kSDPSpecificIdentityMask     = 1<<kSDPSpecificIdentityBit,
  199.     kSDPLocalIdentityMask         = 1<<kSDPLocalIdentityBit
  200. };
  201.  
  202. typedef unsigned short SDPIdentityKind;
  203.  
  204.  
  205. enum {
  206.     kSDPSuggestionOnly,
  207.     kSDPRestrictToDirectory,
  208.     kSDPRestrictToRecord
  209. };
  210.  
  211. typedef unsigned short SDPLoginFilterKind;
  212.  
  213.  
  214.  
  215.  
  216. /* Panel Structures */
  217.  
  218. /*
  219. While the panel is in operation, four selection states may exist.
  220.     1) kSDPNothingSelected means nothing is selected.
  221.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  222.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  223.     4) kSDPRecordSelected means that a record is currently selected.
  224. */
  225.  
  226. /* Values of SDPSelectionState */
  227. enum {
  228.     kSDPNothingSelected,
  229.     kSDPLockedContainerSelected,
  230.     kSDPContainerSelected,
  231.     kSDPRecordSelected,
  232.     kSDPRecordAliasSelected,
  233.     kSDPContainerAliasSelected
  234. };
  235.  
  236. typedef unsigned short SDPSelectionState;
  237.  
  238.  
  239.  
  240.  
  241. /*
  242. This type informs the caller of the action the user took, either as the result
  243. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  244.  
  245. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  246. state change.
  247.  
  248. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  249. record. This is returned, for example, when a user double-clicks on a record.
  250.  
  251. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  252. that no item is selected).
  253. */
  254.  
  255. /* Values of SDPPanelState */
  256. enum {
  257.     kSDPProcessed,
  258.     kSDPSelectedAnItem,
  259.     kSDPChangedSelection
  260. };
  261.  
  262. typedef unsigned short SDPPanelState;
  263.  
  264.  
  265. /*
  266. Your application may read any of the fields in a SDPPanelRecord, but it should
  267. use the appropriate routines to make changes to the records with the exception
  268. of the refCon field which your application may read or write at will.  Private
  269. information follows the SDPPanelRecord, so the handle must not be re-sized.
  270. */
  271.  
  272. struct SDPPanelRecord {
  273.     Rect                bounds;
  274.     Boolean                visible;
  275.     Boolean                enabled;
  276.     Boolean                focused;
  277.     Byte                padByte;
  278.     AuthIdentity        identity;
  279.     long                refCon;
  280.     Rect                listRect;
  281.     Rect                popupRect;
  282.     short                numberOfRows;
  283.     short                rowHeight;
  284.     Boolean                pabMode;
  285. };
  286.  
  287. typedef struct SDPPanelRecord SDPPanelRecord;
  288.  
  289. typedef SDPPanelRecord *SDPPanelPtr, **SDPPanelHandle;
  290.  
  291.  
  292.  
  293. typedef pascal void (*PanelBusyProc) (SDPPanelHandle Panel, Boolean busy);
  294.  
  295.  
  296.  
  297.  
  298. /* Find Panel Structures */
  299.  
  300. enum {
  301.     kSDPItemIsSelectedBit,
  302.     kSDPFindTextExistsBit
  303. };
  304.  
  305. /* Values of SDPFindPanelState */
  306. enum {
  307.     kSDPItemIsSelectedMask = 1<<kSDPItemIsSelectedBit,
  308.     kSDPFindTextExistsMask = 1<<kSDPFindTextExistsBit
  309. };
  310.  
  311. typedef unsigned short SDPFindPanelState;
  312.  
  313.     
  314. /* Values of SDPFindPanelFocus */
  315. enum {
  316.     kSDPFindPanelNoFocus,
  317.     kSDPFindPanelListHasFocus,
  318.     kSDPFindPanelTextHasFocus
  319. };
  320.  
  321. typedef unsigned short SDPFindPanelFocus;
  322.  
  323.  
  324.  
  325.  
  326. struct SDPFindPanelRecord {
  327.     Point                    upperLeft;
  328.     Boolean                    visible;
  329.     Boolean                    enabled;
  330.     Boolean                    nowFinding;
  331.     Byte                    padByte;
  332.     SDPFindPanelFocus         currentFocus;
  333.     AuthIdentity            identity;
  334.     short                     simultaneousSearchCount; 
  335.     long                    refCon;
  336. };
  337.  
  338. typedef struct SDPFindPanelRecord SDPFindPanelRecord;
  339.  
  340. typedef SDPFindPanelRecord *SDPFindPanelPtr, **SDPFindPanelHandle;
  341.  
  342.  
  343. /* Values of SDPFindPanelResult */
  344. enum {
  345.     kSDPSelectedAFindItem,
  346.     kSDPFindSelectionChanged,
  347.     kSDPFindCompleted,
  348.     kSDPTextStateChanged,
  349.     kSDPFocusChanged,
  350.     kSDPSelectionAndFocusChanged,
  351.     kSDPMenuChanged,
  352.     kSDPSelectionAndMenuChanged,
  353.     kSDPProcessedFind
  354. };
  355.  
  356. typedef unsigned short SDPFindPanelResult;
  357.  
  358.  
  359. typedef PackedPathNamePtr *PackedRStringListHandle;
  360.  
  361. typedef PackedDSSpec **PackedDSSpecHandle;
  362.  
  363. typedef pascal void (*FindPanelBusyProc) (SDPFindPanelHandle findPanel, Boolean busy);
  364.  
  365. /* Prompt For Identity Routines */
  366.  
  367. #ifdef __cplusplus
  368. extern "C" {
  369. #endif
  370.  
  371. pascal OSErr SDPPromptForID(AuthIdentity *id,
  372.                               ConstStr255Param guestPrompt,
  373.                               ConstStr255Param specificIDPrompt,
  374.                               ConstStr255Param localIDPrompt,
  375.                               const RString *recordType,
  376.                               SDPIdentityKind permittedKinds,
  377.                               SDPIdentityKind *selectedKind,
  378.                               const RecordID *loginFilter,
  379.                               SDPLoginFilterKind filterKind)
  380.     __SDPPrompt(16,kSDPPromptForID);
  381.  
  382.  
  383.  
  384. /*
  385. SDPNewPanel creates a new panel. You supply the window in which the panel
  386. is to live, the bounds for the panel (which includes both the menu and the list),
  387. whether or not the panel is to be initially visible, the initial RLI (nil for
  388. catalogs and volumes), the types of records that will be shown (only a single
  389. (non-nil) type which may contain wildcards), the identity by which to browse
  390. (for access control reasons), and a refCon which is  available to the caller.
  391. */
  392. pascal OSErr SDPNewPanel(SDPPanelHandle *newPanel,
  393.                          WindowPtr window,
  394.                          const Rect* bounds,
  395.                          Boolean visible,
  396.                          Boolean enabled,
  397.                          const PackedRLI *initialRLI,
  398.                          const RStringPtr* typesList,
  399.                          unsigned long typeCount,
  400.                          AuthIdentity identity,
  401.                          DirEnumChoices enumFlags,
  402.                          DirMatchWith matchTypeHow,
  403.                          long refCon)
  404.     __SDPPanel(21,kSDPNewPanel);
  405.  
  406.  
  407. /*
  408. SDPSetIdentity Sets the identity used for browsing.
  409. */
  410. pascal OSErr SDPSetIdentity(SDPPanelHandle panel, AuthIdentity identity)
  411. __SDPPanel(4,kSDPSetIdentity);
  412.  
  413.  
  414.  
  415.  
  416. /*
  417. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  418. 'panl' resource.
  419. */
  420. pascal OSErr SDPGetNewPanel(SDPPanelHandle *newPanel,
  421.                             short resourceID,
  422.                             WindowPtr window,
  423.                             const PackedRLI *initialRLI,
  424.                             AuthIdentity identity)
  425.     __SDPPanel(9,kSDPGetNewPanel);
  426.  
  427.  
  428. /*
  429. Call this when you're completely done with a panel. It deallocates all of the
  430. associated data structures.
  431. */
  432. pascal OSErr SDPDisposePanel(SDPPanelHandle panel)
  433.     __SDPPanel(2,kSDPDisposePanel);
  434.  
  435.  
  436. /*
  437. If the panel is visible, it makes it invisible by hiding the menu, turning off
  438. drawing of the list, and erasing and  invaling the list's rectangle.
  439. */
  440. pascal OSErr SDPHidePanel(SDPPanelHandle panel)
  441.     __SDPPanel(2,kSDPHidePanel);
  442.  
  443.  
  444. /* If the panel is invisible, it makes it visible and draws it. */
  445.  
  446. pascal OSErr SDPShowPanel(SDPPanelHandle panel)
  447.     __SDPPanel(2,kSDPShowPanel);
  448.  
  449.  
  450. /* Disables the list and menu so that it won't accept any commands. */
  451.  
  452. pascal OSErr SDPEnablePanel(SDPPanelHandle panel, Boolean enable)
  453.     __SDPPanel(3,kSDPEnablePanel);
  454.  
  455. /*
  456. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  457. the panel's window.
  458. */
  459. pascal OSErr SDPMovePanel(SDPPanelHandle panel, short h, short v)
  460.     __SDPPanel(4,kSDPMovePanel);
  461.  
  462.  
  463. /*
  464. Resizes the panel to have the given width and height (keeping the upper-left-hand
  465. corner in a fixed position).
  466. */
  467. pascal OSErr SDPSizePanel(SDPPanelHandle panel, short width, short height)
  468.     __SDPPanel(4,kSDPSizePanel);
  469.  
  470.  
  471. /*
  472. This routine simulates a double-click on the selected item (if there is no selected
  473. item, then it does nothing), and it returns the result of that "double-click" via the
  474. whatHappened parameter. If a container is selected, then that container will be
  475. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  476. level in the hierarchy, then kSDPSelectedAnItem is returned.
  477. */
  478. pascal OSErr SDPOpenSelectedItem(SDPPanelHandle panel, SDPPanelState *whatHappened)
  479.     __SDPPanel(4,kSDPOpenSelectedItem);
  480.  
  481.  
  482. /*
  483. Returns whether a record is selected, something else is selected, or nothing is
  484. selected.
  485. */
  486. pascal OSErr SDPGetPanelSelectionState(SDPPanelHandle panel, SDPSelectionState *itsState)
  487.     __SDPPanel(4,kSDPGetPanelSelectionState);
  488.  
  489.  
  490. /*
  491. Returns the size of the currently-selected DSSpec, or zero if a record is
  492. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  493. */
  494. pascal OSErr SDPGetPanelSelectionSize(SDPPanelHandle panel, unsigned short *dsSpecSize)
  495.     __SDPPanel(4,kSDPGetPanelSelectionSize);
  496.  
  497.  
  498. /*
  499. Returns the currently-selected DSSpec, or a zero-lengthed
  500. DSSpec if a record is not selected. It is assumed that the selection
  501. buffer allocated is large enough.
  502. */
  503. pascal OSErr SDPGetPanelSelection(SDPPanelHandle panel, PackedDSSpec *selection)
  504.     __SDPPanel(4,kSDPGetPanelSelection);
  505.  
  506.  
  507. /*
  508. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  509. nothing.
  510. */
  511. pascal OSErr SDPSetPath(SDPPanelHandle panel, const PackedRLI *prli)
  512.     __SDPPanel(4,kSDPSetPath);
  513.  
  514.  
  515. /*
  516. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  517. including NULL events.  If you have more than 1 panel, you will need to
  518. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  519. SDPUpdatePanel as described below.
  520. */
  521. pascal OSErr SDPPanelEvent(SDPPanelHandle panel,
  522.                             const EventRecord *theEvent,
  523.                             SDPPanelState *whatHappened)
  524.     __SDPPanel(6,kSDPPanelEvent);
  525.  
  526.  
  527.  
  528. /*
  529. SDPUpdatePanel should be called in response to an update event.  Generally you will
  530. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  531. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  532. theRgn, if this is desired, you must first call SetClip.
  533. */
  534. pascal OSErr SDPUpdatePanel(SDPPanelHandle panel, RgnHandle theRgn)
  535.     __SDPPanel(4,kSDPUpdatePanel);
  536.  
  537.  
  538. /*
  539. SDPSelectString scrolls and selects the closest matching string at the current
  540. level.  This is the same behavior as if the user typed in the given string.
  541. */
  542. pascal OSErr SDPSelectString(SDPPanelHandle panel, const RString* name)
  543.     __SDPPanel(4,kSDPSelectString);
  544.  
  545. /*
  546. SDPGetPathLength returns the length in bytes required to hold the current path name
  547. in RLI format.  This corresponds to the path name in the popup menu.
  548. */
  549. pascal OSErr SDPGetPathLength(SDPPanelHandle panel, unsigned short *pathNameLength)
  550.     __SDPPanel(4,kSDPGetPathLength);
  551.  
  552. /* SDPGetPath returns the current rli. */
  553. pascal OSErr SDPGetPath(SDPPanelHandle panel, PackedRLI *prli,short *dsRefNum)
  554.     __SDPPanel(6,kSDPGetPath);
  555.  
  556. /*
  557. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  558. the focus boolean.
  559. */
  560. pascal OSErr SDPSetFocus(SDPPanelHandle panel, Boolean focus)
  561.     __SDPPanel(3,kSDPSetFocus);
  562.  
  563. /*
  564. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  565. balloon help.  Balloon help is unavailable until this call is made.
  566. */
  567. pascal OSErr SDPSetPanelBalloonHelp(SDPPanelHandle panel, short balloonHelpID)
  568.     __SDPPanel(3,kSDPSetPanelBalloonHelp);
  569.  
  570. /*
  571. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  572. the panel is aynchronously busy.
  573. */
  574. pascal OSErr SDPInstallPanelBusyProc(SDPPanelHandle panel, PanelBusyProc busyProc)
  575.     __SDPPanel(4, kSDPInstallPanelBusyProc);
  576.  
  577.  
  578. pascal OSErr SDPNewFindPanel(SDPFindPanelHandle *newPanel, WindowPtr window, 
  579.     Point upperLeft, short layoutResourceID, Boolean visible, 
  580.     Boolean enabled, const RStringPtr* typesList,  long typeCount, 
  581.     DirMatchWith matchTypeHow, AuthIdentity identity, short simultaneousSearchCount,
  582.     SDPFindPanelFocus initialFocus, long refCon) 
  583.     __FindPanel(20, kSDPNewFindPanel);
  584.  
  585. pascal OSErr SDPDisposeFindPanel(SDPFindPanelHandle findPanel) 
  586.     __FindPanel(2, kSDPDisposeFindPanel);
  587.  
  588. pascal OSErr SDPStartFind(SDPFindPanelHandle findPanel) 
  589.     __FindPanel(2, kSDPStartFind);
  590.  
  591. pascal OSErr SDPStopFind(SDPFindPanelHandle findPanel) 
  592.     __FindPanel(2, kSDPStopFind);
  593.  
  594. pascal OSErr SDPFindPanelEvent(SDPFindPanelHandle findPanel, 
  595.     const EventRecord *event, SDPFindPanelResult *whatHappened) 
  596.     __FindPanel(6, kSDPFindPanelEvent);
  597.  
  598. pascal OSErr SDPUpdateFindPanel(SDPFindPanelHandle findPanel, RgnHandle theRgn) 
  599.     __FindPanel(4, kSDPDrawFindPanel);
  600.  
  601. pascal OSErr SDPShowFindPanel(SDPFindPanelHandle findPanel) 
  602.     __FindPanel(2, kSDPShowFindPanel);
  603.  
  604. pascal OSErr SDPHideFindPanel(SDPFindPanelHandle findPanel) 
  605.     __FindPanel(2, kSDPHideFindPanel);
  606.  
  607. pascal OSErr SDPMoveFindPanel(SDPFindPanelHandle findPanel, short h, short v) 
  608.     __FindPanel(4, kSDPMoveFindPanel);
  609.  
  610. pascal OSErr SDPEnableFindPanel(SDPFindPanelHandle findPanel, Boolean enabled) 
  611.     __FindPanel(3, kSDPEnableFindPanel);
  612.  
  613. pascal OSErr SDPSetFindPanelFocus(SDPFindPanelHandle findPanel, 
  614.     SDPFindPanelFocus newFocus) 
  615.     __FindPanel(3, kSDPSetFindPanelFocus);
  616.  
  617. pascal OSErr SDPGetFindPanelState(SDPFindPanelHandle findPanel, SDPFindPanelState* itsState) 
  618.     __FindPanel(4, kSDPGetFindPanelState);
  619.  
  620. pascal OSErr SDPGetFindPanelSelectionSize(SDPFindPanelHandle findPanel, 
  621.     unsigned short *size) 
  622.     __FindPanel(4, kSDPGetFindPanelSelectionSize);
  623.  
  624. pascal OSErr SDPGetFindPanelSelection(SDPFindPanelHandle findPanel, 
  625.     PackedDSSpec* selection) 
  626.     __FindPanel(4, kSDPGetFindPanelSelection);
  627.  
  628. pascal OSErr SDPSetFindPanelBalloonHelp(SDPFindPanelHandle findPanel, 
  629.     short balloonHelpID) 
  630.     __FindPanel(3, kSDPSetFindPanelBalloonHelp);
  631.  
  632. pascal OSErr SDPSetFindIdentity(SDPFindPanelHandle findPanel, 
  633.     AuthIdentity identity)
  634.     __FindPanel(4, kSDPSetFindIdentity);
  635.  
  636. pascal OSErr SDPInstallFindPanelBusyProc(SDPFindPanelHandle findPanel, FindPanelBusyProc busyProc)
  637.     __FindPanel(4, kSDPInstallFindPanelBusyProc);
  638.  
  639.  
  640.  
  641. pascal OSErr SDPGetIconByType(const RString* recordType,
  642.                               IconSelectorValue whichIcons,
  643.                               Handle* iconSuite)    
  644.                               __SDPUtils(kSDPGetIconByType);
  645.  
  646. pascal OSErr SDPGetDSSpecIcon(const PackedDSSpec* packedDSSpec,
  647.                               IconSelectorValue whichIcons,
  648.                               Handle* iconSuite)    
  649.                               __SDPUtils(kSDPGetDSSpecIcon);
  650.  
  651. pascal OSErr SDPGetCategories(PackedRStringListHandle* categories,
  652.                               PackedRStringListHandle* displayNames)
  653.                               __SDPUtils(kSDPGetCategories);
  654.                              
  655. pascal OSErr SDPGetCategoryTypes(const RString* category,
  656.                                  PackedRStringListHandle* types)
  657.                                  __SDPUtils(kSDPGetCategoryTypes);
  658.  
  659.  
  660.  
  661.  
  662. pascal OSErr SDPResolveAliasFile(FSSpecPtr fileSpec,
  663.                                  PackedDSSpecHandle resolvedDSSpec,
  664.                                  AuthIdentity identity,
  665.                                  Boolean mayPromptUser)
  666.                     __SDPAlias(7, kSDPResolveAliasFile);
  667.  
  668. pascal OSErr SDPResolveAliasDSSpec(PackedDSSpecHandle theAliasDSSpec,
  669.                                    AuthIdentity identity,
  670.                                    Boolean mayPromptUser)
  671.                     __SDPAlias(5, kSDPResolveAliasDSSpec);
  672.  
  673. pascal OSErr SDPRepairPersonalDirectory(FSSpec *pd, Boolean showProgress)
  674.                     __SDPPDUtils(3, kSDPRepairPersonalDirectory);
  675.  
  676. #ifdef __cplusplus
  677. };
  678. #endif
  679.  
  680.  
  681.  
  682.  
  683. #endif    /* REZ */
  684.  
  685. #endif    /* __OCESTANDARDDIRECTORY__ */
  686.